home *** CD-ROM | disk | FTP | other *** search
- 10 REM GRAPHICS
- 11 :
- 950 POKE 53265,PEEK(53265)AND239
- 960 POKE56578,PEEK(56578)OR3:REM SET CIA
- 965 POKE56576,(PEEK(56576)AND252)OR3:REM SET BANK 0
- 970 POKE53272,(PEEK(53272)AND15)OR16:REM SET SCREEN
- 975 POKE53272,(PEEK(53272)AND240)OR4:REM SET BIT MAP
- 980 POKE 53265,PEEK(53265)AND223:REM TURN OFF MULTICOLOR
- 985 POKE53270,PEEK(53270)AND239:REM TURN OFF BIT MAP
- 990 POKE49191,3:POKE49194,4:POKE49195,16
- 1000 REM********************************
- 1002 REM HIGH RESOLUTION DRAWING AIDS
- 1004 REM********************************
- 1005 CLR
- 1010 GOSUB 21200:REM SET UP VARIABLE NAMES
- 1020 POKE LO,1:POKESN,0
- 1025 POKE S1,6:POKE S2,6:POKE M1,255:POKE M2,255
- 1030 POKE CB,13:POKE CS,12
- 1040 PRINTCHR$(144)
- 1050 PRINTCHR$(147):PRINT" HI-RESOLUTION DRAWING AIDS":PRINT:PRINT
- 1055 POKE 53265,PEEK(53265)OR16
- 1060 PRINT" DOTS":PRINT
- 1070 PRINT" LINES":PRINT
- 1080 PRINT" BOXES":PRINT
- 1090 PRINT" CIRCLES":PRINT
- 1100 PRINT" MAIN MENU":PRINT
- 1120 PRINT:PRINT:PRINT
- 1130 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT" PRESS LEFT BUTTON TO MAKE SELECTION"
- 1140 :
- 1220 REM
- 1225 POKET3,0:POKET3+1,0
- 1230 SYS TE
- 1240 POKE T3,1
- 1250 POKE H1,0:POKEH2,0:POKEH3,0:POKEH4,0
- 1260 POKE XS,12:POKE XF,12:POKE YS,4:POKE YF,12
- 1270 POKE S1,6:POKE S2,6:REM SET MINIMUM X AND Y FOR SPRITE BORDER
- 1290 SYS TE
- 1291 GETQQ$:IFQQ$=CHR$(136)THEN7000
- 1300 Y=PEEK(YN)
- 1310 N=(Y-2)/2:IF N<>INT(N) THEN N=0
- 1320 IF N<1 THEN 1290
- 1330 IF N>5 THEN 1290
- 1331 IF PEEK(LP)=1 THEN 1335
- 1332 GOSUB 21900:IFSW=0 THEN 1290
- 1333 IF SW=6 THEN N=5
- 1334 IF SW=2 THEN1290
- 1335 IF N=5 THEN GOTO 7000
- 1340 TF=N
- 1350 ON TF GOSUB 3000,4000,5000,6000
- 1400 ON SW GOTO 2000,1020,2000,1020,1020,7000
- 1500 :
- 1900 REM LINES 2000-2260 SET UP THE MCM GRAPHICS SCREEN.
- 2000 POKE LE,0 :REM SM LEVEL
- 2010 POKE LO,1 :REM PAD LOCK
- 2020 POKE MC,1 :REM MCM
- 2030 POKE CO,1 :REM WHITE BRUSH
- 2190 POKE BA,2 :REM BANKA
- 2200 POKE SA,112 :REM SCREENA
- 2210 POKE CA,8 :REM BMA
- 2220 POKE SS,92 :REM SCREEN START HI
- 2230 POKE CH,96 :REM BIT MAP START
- 2240 POKE SF,0 :REM RESET SPRITE FLAG
- 2250 SYS KLRCOL
- 2260 SYS TURNUN
- 2265 :
- 2270 SYS SPRITE
- 2280 SYS SETSCL
- 2290 SYS SCALE:REM PUT SCALED VALUES IN XN,YN
- 2295 IF PEEK(LP)=1 THEN 2310
- 2300 IF PEEK(RP)=1 THEN GOTO 6540:REM IF RIGHT BUTTON PRESSED BACK TO SUBMENU
- 2305 GOSUB 21900:ON SW GOTO 2310,6500,2310,6500,6500,6500
- 2310 IF TF>=2 THEN 2420
- 2320 IF PEEK(B1)=1 THEN SYS PLTDOT
- 2330 GOTO 2270
- 2335 :
- 2415 :
- 2420 REM** LINES,BOXES,CIRCLES, GET FIRST POINT
- 2440 IF PEEK(LP)=0 THEN 2270
- 2450 POKE X1,PEEK(XN):REM SET FIRST POINT
- 2460 POKE Y1,PEEK(YN)
- 2465 POKE SN,0:REM TURN OFF SPRITE
- 2466 :
- 2470 SYS SPRITE:SYS SETSCL:SYS SCALE:REM GET 2ND POINT
- 2471 GETQQ$:IFQQ$=CHR$(136)THENSW=6:GOTO6500
- 2472 IF PEEK(RP)=1 THEN 6540
- 2475 :
- 2480 POKE X2,PEEK(XN):REM PUT 2ND POINT VALUES INTO X2,Y2
- 2490 POKE Y2,PEEK(YN)
- 2500 POKE XR,0:REM XOR OFF
- 2510 IF PEEK(LP)=0 THEN POKE XR,1:REM XOR ON
- 2515 :
- 2516 REM:DRAW GRAPHIC OBJECT FIRST TIME
- 2520 IF TF=2 THEN SYS LINE
- 2530 IF TF=3 THEN SYS BOX
- 2540 IF TF=4 THEN SYS RADIUS:SYS CIRCLE
- 2550 IF PEEK(LP)=1 THEN POKE SN,1:GOTO2270:REM IF LEFT BUTTON, REPEAT CYCLE
- 2555 :
- 2556 REM:DRAW GRAPHIC OBJECT 2ND TIME; I.E., ERASE IF IN XOR MODE
- 2560 IF TF=2 THEN SYS LINE
- 2570 IF TF=3 THEN SYS BOX
- 2580 IF TF=4 THEN SYS RADIUS:SYS CIRCLE
- 2590 GOTO2470
- 2600 END
- 2700 :
- 3000 REM *****INSTRUCTIONS FOR DOTS *********
- 3010 PRINTCHR$(147):PRINT" PLOTTING DOTS":PRINT
- 3020 PRINT" THIS ROUTINE PLOTS DOTS ON THE HI-RES"
- 3030 PRINT"SCREEN WHEN YOU PRESS THE LEFT BUTTON.":PRINT
- 3040 PRINT" IF YOU WANT TO PLOT DOTS ON THE HI-RES"
- 3050 PRINT"MULTICOLOR SCREEN YOU MUST POKE MCM,1 "
- 3060 PRINT"AND POKE COLOR, 0-15":PRINT
- 3070 PRINT" WHEN YOU PLOT DOTS FROM THE TABLET,"
- 3080 PRINT"YOU MUST FIRST CALL THE ROUTINES SCALIT,";
- 3090 PRINT"SMOOTH, AND SCALE TO CONVERT TABLET DATA";
- 3100 PRINT"TO SCREEN DATA.":PRINT
- 3110 PRINT" IF YOU WANT TO XOR A DOT ON THE SCREEN"
- 3115 PRINT"YOU SHOULD POKE XOR,1 BEFORE CALLING IT."
- 3120 PRINT" NOW GO TO THE NEXT SCREEN AND PRESS "
- 3130 PRINT"THE LEFT BUTTON TO PLOT DOTS.":PRINT:PRINT
- 3140 PRINT" PRESS THE LEFT BUTTON TO CONTINUE"
- 3150 GOSUB 21900:IF SW=0 THEN 3150
- 3170 PRINTCHR$(147):RETURN
- 3200 :
- 4000 REM****INSTRUCTIONS FOR LINES *********
- 4010 PRINTCHR$(147):PRINT" PLOTTING LINES":PRINT:PRINT:PRINT
- 4020 PRINT" MOVE THE CURSOR TO SET ONE ENDPOINT OF"
- 4030 PRINT"THE LINE AND CLICK THE LEFT BUTTON.":PRINT
- 4040 PRINT" NOW SLIDE YOUR FINGER OR STYLUS AROUND"
- 4050 PRINT"ON THE TABLET. WHEN YOU HAVE A LINE"
- 4060 PRINT"WHERE YOU WANT IT, CLICK THE LEFT"
- 4070 PRINT"BUTTON TO ESTABLISH THE LINE"
- 4080 PRINT"PERMANENTLY.":PRINT:PRINT
- 4090 PRINT" THIS TOOL GIVES YOU THE ABILITY TO USE"
- 4100 PRINT"RUBBER LINES IN YOUR OWN PROGRAMS.":PRINT:PRINT:PRINT:PRINT
- 4110 PRINT:PRINT" CLICK THE LEFT BUTTON TO CONTINUE"
- 4120 GOSUB 21900
- 4130 IF SW=0 THEN 4120
- 4140 PRINTCHR$(147):RETURN
- 4200 :
- 5000 REM******INSTRUCTIONS FOR BOXES *********
- 5010 PRINTCHR$(147):PRINT" PLOTTING BOXES":PRINT:PRINT
- 5020 PRINT" USE THE CURSOR TO POINT TO ONE CORNER"
- 5030 PRINT"OF A BOX AND CLICK THE LEFT BUTTON TO"
- 5040 PRINT"SET THE POINT.":PRINT
- 5050 PRINT" NOW SLIDE YOUR FINGER OR STYLUS AROUND"
- 5060 PRINT"ON THE TABLET AND WATCH AS THE BOX IS"
- 5070 PRINT"XORED ON AND OFF THE SCREEN.":PRINT
- 5080 PRINT" WHEN YOU FIND ONE YOU LIKE, PRESS AND"
- 5090 PRINT"HOLD LEFT BUTTON TO ESTABLISH IT PERMANENTLY.":PRINT
- 5100 PRINT" NOW YOU CAN DRAW 'RUBBER' BOXES IN"
- 5110 PRINT"YOUR OWN PROGRAMS!!!":PRINT:PRINT:PRINT
- 5120 PRINT:PRINT
- 5130 PRINT" CLICK THE LEFT BUTTON TO CONTINUE"
- 5140 GOSUB 21900
- 5150 IF SW=0 THEN 5140
- 5160 PRINTCHR$(147):RETURN
- 5200 :
- 6000 REM*****INSTRUCTIONS FOR CIRCLES *******
- 6010 PRINTCHR$(147):PRINT" PLOTTING CIRCLES":PRINT:PRINT
- 6020 PRINT" USE THE CURSOR TO POINT TO THE CENTER"
- 6030 PRINT"OF THE CIRCLE AND CLICK THE LEFT BUTTON":PRINT
- 6040 PRINT" NOW MOVE THE CURSOR AND OBSERVE THE"
- 6050 PRINT"RIM OF THE CIRCLE EXPAND AND CONTRACT."
- 6060 PRINT"THE CURSOR POSITION IS SETTING THE "
- 6070 PRINT"RADIUS OF THE CIRCLE.":PRINT
- 6080 PRINT" NOW PRESS AND HOLD THE LEFT BUTTON TO LOCK IT ";
- 6090 PRINT"INTO PLACE.":PRINT:PRINT
- 6100 PRINT" THIS TOOL GIVES YOU THE ABILITY TO USE"
- 6110 PRINT"RUBBER CIRCLES IN YOUR OWN PROGRAMS!!!":PRINT:PRINT:PRINT:PRINT
- 6120 PRINT" CLICK THE LEFT BUTTON TO CONTINUE"
- 6130 GOSUB 21900
- 6140 IF SW=0 THEN 6130
- 6150 PRINTCHR$(147):RETURN
- 6160 CLR
- 6500 :
- 6510 REM SET BANK 0 AND RESTORE TEXT SCREE
- 6520 :
- 6540 POKE BA,3 :REM BANKA
- 6550 POKE SA,16 :REM SCREENA
- 6560 POKE CA,4 :REM CHARACTER MEMORY A
- 6570 POKE SS,4 :REM SCREEN START HI
- 6580 POKE CH,16 :REM BIT MAP START
- 6590 POKE SN,0:REM TURN OFF SPRITES
- 6600 SYS TRNOFF
- 6605 IF SW=5 THEN 1020
- 6606 IF SW=6 THEN 7000
- 6610 FLAG=0:GOTO1350
- 7000 :
- 7005 CLR
- 7010 REM MAIN MENU
- 7020 OPEN 2,8,2,"0:SPRITE.UPARROW,S,R"
- 7030 CLOSE2
- 7040 OPEN 15,8,15
- 7050 INPUT#15,A$,B$,C$,D$
- 7060 IF VAL(A$)=0 THEN 7100
- 7070 PRINT"[147]":PRINT:PRINT:PRINT:PRINT:PRINT:PRINT" ";B$
- 7080 FORI=1TO1000:NEXTI
- 7090 GOTO 1000
- 7100 CLR
- 7105 PRINT"[147]":POKE214,8:PRINT:PRINT" LOADING MAIN MENU..."
- 7110 LOAD"MENU",8
- 21000 :
- 21200 REM ************SET UPS************
- 21202 Z5=45:Z6=46:Z7=47:Z8=48:Z9=49:Z0=50:REM ZERO PAGE BASIC POINTERS
- 21204 CBRDER=53280:CSCREEN=53281
- 21205 REM ASSEMBLY ROUTINE JUMP ADDRESS NAMES
- 21208 TABRAW=49328:DEBOUNCE=49331:FILTER=49334:PERFECT=49337
- 21210 SMOOTH=49340:PADLOCK=49343:SCALE=49346:TEXTCR=49349:SPRITE=49352
- 21215 PLTDOT=49355:SETSCL=49358:TURNUN=49361:KLRCOL=49364:TRNUFF=49367
- 21220 LINE=49382:BOX=49385:RADIUS=49388:CIRCLE=49391
- 21222 KOALAPICTURE=49394
- 21223 :
- 21225 REM VARIABLE NAMES
- 21227 RX=49152:RY=49154
- 21230 B1=49156:B2=49157:LDBOUNCE=49159:RDBOUNCE=49160:LPRESS=49161:RPRESS=49162
- 21231 LX=49163:LY=49164:TX=49165:TY=49166
- 21232 FX=49168:FY=49169:UX=49172:UY=49173:ERRUR=49174:M1=49175:M2=49176
- 21235 SX=49196:SY=49197:LEVEL=49198:LOCKST=49199
- 21238 XH=49186:S1=49187:S2=49188:YH=49190
- 21240 XS=49177:YS=49179:XF=49181:YF=49183:XNW=49185:YNW=49189
- 21245 H1=49178:H2=49180:H3=49182:H4=49184
- 21246 :
- 21250 BANKA=49191:SA=49192:CA=49193:SSTART=49194:CH=49195
- 21255 SFLAG=49200:SNABLE=53269:SKOLR=53287:XLOSP=53248:XISP=53264:YLOSP=53249
- 21256 P1=49201:P2=49202:P3=49203:P4=49204
- 21260 MCM=49205:COLR=49206:XR=49208
- 21265 X1=49209:X2=49210:Y1=49211:Y2=49212:REDIUS=49213
- 21266 T3=49239
- 21270 RETURN
- 21280 :
- 21900 REM****CHECK SWITCHES**************
- 21905 SW=0
- 21910 SYS PE
- 21920 IF PEEK(LP)=1 THEN SW=1
- 21930 IF PEEK(RP)=1 THEN SW=2
- 21935 IF PEEK(198)=0 THEN RETURN
- 21940 FORI9=1TO PEEK(198):GET QQ$:NEXT I9
- 21965 IF QQ$=CHR$(136) THEN SW=6
- 21970 RETURN
- 30000 OPEN15,8,15:PRINT#15,"S0:GRAPHICS":SAVE"GRAPHICS",8
-